﻿/**	@file		_file_open_flag.inl
 *	@date		(2009-05-24 11:12:27)/(2010-08-21 01:09:35)
 *-----------------------------------------------------------------------------
 *	@version	1.0.3.3
 *	@author		Nick Shallery	(nicknide@gmail.com,
 *	@copyright	YOU HAVE ALL LEFT WITH THIS CODE WHILE YOU KEEP COMMENT IN EVERY COPY.
 *-----------------------------------------------------------------------------
**/

#if			!defined(__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM)
	#error		need define	__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM
#endif	//	!defined(__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM)

/*	Open FILE ACCESS TYPE	*/
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_SHARE_READ			,	0x00000001	, "share for read")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_SHARE_WRITE			,	0x00000002	, "share for write")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_SHARE_DELETE			,	0x00000004	, "share for write")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_SHARE_MASK			,	0x00000007	, "Open Share Type")
//__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPERAT_DISTANCE		,	0x00		, "")
/*	Open Query Type	*/
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_WITH_FLOW				,	0x00000010	, "open with file flow type")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_WITH_BLOCK			,	0x00000020	, "open with file block")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_WITH_ASYNC			,	0x00000040	, "open with file with async model")
//__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_WITH_BIDIR			,	0x00000080	, "open with file can bidirectional flow: stream file")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_WITH_MASK				,	0x00000070	, "Open Query Type")
//__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_WITH_DISTANCE			,	0x04		, "")
/*	Open EXTERN VALUE	*/
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_TYPE_CREATE_NEW		,	0x00000100	, "Create file if it is Not existing, Or Lost if it is existing	")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_TYPE_CREATE_ALWAYS	,	0x00000200	, "Create file if it is Not existing, Or Delete All data if it is existing.	")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_TYPE_OPEN_EXISTING	,	0x00000300	, "Open a file if it is existing, Or Lost if it is Not existing	")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_TYPE_OPEN_ALWAYS		,	0x00000400	, "Open a file if it is existing, Or Create New if it is Not existing.	")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_TYPE_TRUNCATE_EXISTING,	0x00000500	, "Open a file")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_TYPE_MASK				,	0x00000700	, "Open EXTERN VALUE")
//__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_TYPE_DISTANCE			,	0x08		, "")
/*	Open Share Type	*/
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPERAT_READ			,	0x00001000	, "READ"	)
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPERAT_WRITE			,	0x00002000	, "WRITE")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPERAT_EXECUTE		,	0x00004000	, "EXECUTE	: ONLY SUPPORT FOR FILE BLOCK MODEL."	)
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPERAT_MASK			,	0x00007000	, "Open FILE ACCESS TYPE"							)
//__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_SHARE_DISTANCE		,	0x0c		, "")
/*	Enum Value	*/
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_ATTR_TEMP				,	0x00010000	, "create temp file")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_MAKE_PATH				,	0x00020000	, "create path while no descript path valid")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_SPT_BIDIR				,	0x00040000	, "open with file that supported can bidirectional flow: stream file")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_ATTR_MASK				,	0x000f0000	, "Enum Value")
//__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_ATTR_DISTANCE			,	0x10		, "")
/*	OPT	Optimization	*/
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPTIMI_STREAM			,	0x08000000	, "Read or write from header to tail")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPTIMI_RANDOM			,	0x10000000	, "Read or write random opt")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPTIMI_MMAPING		,	0x20000000	, "Read or write by File Mapping")
__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPTIMI_MASK			,	0x38000000	, "OPT	Optimization")
//__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_OPTIMI_DISTANCE		,	0x1b		, "")

__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM(FILE_OPEN_VER					,	0x0000000a	, "enum version here")


#undef	__LOLIX_TMP__DEFINE_FILE_OPEN_FLAG_ITEM
